var token = localStorage.getItem("token")

window.token = token

$("#index").on("click", function () {
    navigate("/backend/index")
})

$("#listSubject").click(function () {
    navigate("/backend/listSubject")
})

$("#addSubject").click(function () {
    navigate("/backend/addSubject")
})

$("#listBeautiful").click(function () {
    navigate("/backend/listBeautiful")
})

$("#logout").click(function () {
    navigate("/login")
})

/**
 * 跳转页面
 * @param url 跳转的页面
 */
function navigate(url) {
    window.location.href = url + "?token=" + encodeURIComponent(token)
}

/**
 * get请求
 * @param url   请求地址
 * @param data  请求数据
 * @param success   成功返回执行函数
 * @param error     错误返回执行函数
 */
function getAjax(url, data, success, error) {
    ajax(url, "GET", data, success, error)
}

/**
 * post请求
 * @param url   请求地址
 * @param data  请求数据
 * @param success   成功返回执行函数
 * @param error     错误返回执行函数
 */
function postAjax(url, data, success, error) {
    ajax(url, "POST", data, success, error)
}

/**
 * put请求
 * @param url   请求地址
 * @param data  请求数据
 * @param success   成功返回执行函数
 * @param error     错误返回执行函数
 */
function putAjax(url, data, success, error) {
    ajax(url, "PUT", data, success, error)
}

/**
 * delete请求
 * @param url   请求地址
 * @param data  请求数据
 * @param success   成功返回执行函数
 * @param error     错误返回执行函数
 */
function deleteAjax(url, data, success, error) {
    ajax(url, "DELETE", data, success, error)
}

/**
 * ajax请求工具方法
 * @param url
 * @param type
 * @param data
 * @param success
 * @param error
 */
function ajax(url, type, data = {}, success = () => {
}, error = () => cocoMessage.error("系统错误，请联络管理员！")) {
    return $.ajax({
        url: url,
        type: type,
        data: data,
        headers: {
            "token": token,
            //设置请求类型
            "Content-Type": "application/json"
        },
        dataType: 'json',
        success: function (response) {
            success(response);

        },
        error: function (response) {
            error(response);

        }
    });
}


/**
 * 将表单中用户输入的数据转化成json格式
 * @param obj
 * @returns {{}}
 */
function serializeObject(obj) {
    var params = obj.serializeArray();
    // 使用each方法对params进行操作
    var result = {};
    // 循环数组，将数组转为对象类型
    $.each(params, function (index, value) {
        result[value.name] = value.value;
    })
    return result;
}
